Wednesday, January 17, 2007

Interactive Fiction Lives

In the summer of 1983 I discovered the ibm personal computer. I had (well still have, actually) a friend whose father worked as an inventor for Corning Glass and was an early adopter of technology. The computer, with its dual disk drive and monochrome monitor sat on a large worktable in the den, a space that easily accommodated Brian (it was his house), Dave (another friend) and me. Brian worked the keyboard while Dave and I watched and made suggestions. (It really was much more fun than it sounds).

At the time, Dungeons and Dragons was all the rage. We used to play D&D on Dave's back porch for hours on end. As 12-year olds, we didn't really understand all of the nuances in the game, but it really sparked our imaginations. The action in D&D takes place in your head. A Dungeon Master spins a story (in our case, he read from a guide-book that we couldn't see) and the players envision it unfolding in their mind's eye. The problem with D&D was that we needed other people to play. When Brian's dad got that computer, we discovered a whole new way of playing imagination games which did not require a human dungeon master.

The game was called Zork. One day after school we sat in Brian's den drinking strawberry kool-aide and he pulled out a 5 1/4 inch floppy disk labeled "Zork: An Infocom Adventure". Brian inserted this disk to the left disk-drive of his dad's computer and typed:

>a:Zork.exe

The screen printed the following:
You are in an open field west of a big
white house with a boarded front door.
There is a small mailbox here.

We typed:
open mailbox

The game replied:
Opening the mailbox reveals:
A leaflet.

We typed:
get leaflet

The computer replied:
Taken.

We typed:
read leaflet

The Computer replied:
Welcome to Zork (originally Dungeon)!

Dungeon is a game of adventure, danger, and low cunning.
In it you will explore some of the most amazing territory
ever seen by mortal man. Hardened adventurers have run
screaming from the terrors contained within.

In Dungeon, the intrepid explorer delves into the
forgotten secrets of a lost labyrinth deep in the
bowels of the earth, searching for vast treasures
long hidden from prying eyes, treasures guarded by
fearsome monsters and diabolical traps!

No DECsystem should be without one!

Dungeon was created at the Programming Technology
Division of the MIT Laboratory for Computer Science
by Tim Anderson, Marc Blank, Bruce Daniels,
and Dave Lebling. It was inspired by the Adventure
game of Crowther and Woods, and the Dungeons and
Dragons game of Gygax and Arneson. The original
version was written in MDL (alias MUDDLE). The
current version was translated from MDL into
FORTRAN IV by a somewhat paranoid DEC engineer
who prefers to remain anonymous,and was later
translated to C.

On-line information may be obtained with
the commands HELP and INFO.

Have fun.
>

We were hooked!

Over the next several years, we played many different infocom text adventure games. When I was in graduate school, I worked with a guy who purchased The Lost Treasures of Infocom which included all the titles. I spent several Saturday's in front of my computer, avoiding my thesis and exploring these textual worlds.

Lately, I've been feeling nostalgic for those halcyon days of yesteryear. Googling infocom led me to discover the Interactive Fiction Archive with literally thousands of free text-based games to download and enjoy. All you need is a Z-machine interpreter1 and game files. The Archive divides games into genres, you can play science fiction titles, mysteries, historical thrillers, and more.

I downloaded the WinFrotz Z-machine interpreter along with 20 or so games this past weekend and plan to reward myself for finishing a manuscript this week with several hours of sedentary adventuring. Life is truly good.

===
1. Actually, the Z-machine is only one of several interactive-adventure game engines. The z-machine is a reverse engineered open-source implementation of Infocom's original game engine. It looks like there are more games for the Z-machine than other interpreters. I've tried using TADS and ADRIFT which are similar to Z-machine, but I prefer the former.